package com.fqgj.xjd.user.client;


import com.fqgj.common.api.Response;
import com.fqgj.xjd.user.client.request.BankAuth;
import com.fqgj.xjd.user.client.request.UserBank;
import com.fqgj.xjd.user.client.response.UserBankInfo;

import java.util.List;

/**
 * @ClassName:
 * @Description: 用户卡信息服务
 * @Author zhangxingyun
 * @Create 2017-07-21 09:37
 */
public interface UserBankService {

    /**
     * 绑卡信息入库
     *
     * @param userBank
     * @return
     */
    Response<Boolean> bind(UserBank userBank);


    /**
     * 绑卡成功
     *
     * @param userCode
     * @return
     */
    @Deprecated
    Response<Boolean> setCardBinded(String userCode);


    /**
     * 重绑卡状态
     *
     * @param userCode
     * @return
     */
    @Deprecated
    Response<Boolean> setCardRebind(String userCode);

    /**
     * 获取绑卡信息
     *
     * @param userCode
     * @return
     */
    Response<UserBankInfo> getByUserCode(String userCode);

    /**
     * 获取绑卡信息列表
     * @param userCode
     * @return
     */
    Response<List<UserBankInfo>> getBankListByUserCode(String userCode);


    /**
     * 获取绑卡信息
     *
     * @param userCodes
     * @return
     */
    Response<List<UserBankInfo>> getListByUserCodes(List<String> userCodes);

    /**
     * 删除卡
     *
     * @param userCode
     */
    void setDeleted(String userCode);
}
